From b4129c14cbd2d20d37252c74c6af1b7ecc0511c1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kristian=20H=C3=B8gsberg?= Date: Thu, 10 Feb 2011 13:44:45 -0500 Subject: [PATCH] gtkwidget: Only call X GDK functions when the window is an X window --- gtk/gtkwindow.c | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 7336d025d8..4a1452c39c 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -1698,7 +1698,7 @@ gtk_window_set_startup_id (GtkWindow *window, gdk_window = gtk_widget_get_window (widget); #ifdef GDK_WINDOWING_X11 - if (timestamp != GDK_CURRENT_TIME) + if (timestamp != GDK_CURRENT_TIME && GDK_IS_X11_WINDOW(gdk_window)) gdk_x11_window_set_user_time (gdk_window, timestamp); #endif @@ -4612,7 +4612,8 @@ gtk_window_show (GtkWidget *widget) /* Try to make sure that we have some focused widget */ #ifdef GDK_WINDOWING_X11 - is_plug = GTK_IS_PLUG (window); + is_plug = GDK_IS_X11_WINDOW (gtk_widget_get_window (widget)) && + GTK_IS_PLUG (window); #else is_plug = FALSE; #endif @@ -4978,12 +4979,18 @@ gtk_window_realize (GtkWidget *widget) if (priv->startup_id) { #ifdef GDK_WINDOWING_X11 - guint32 timestamp = extract_time_from_startup_id (priv->startup_id); - if (timestamp != GDK_CURRENT_TIME) - gdk_x11_window_set_user_time (gdk_window, timestamp); + if (GDK_IS_X11_WINDOW (gdk_window)) + { + guint32 timestamp = extract_time_from_startup_id (priv->startup_id); + if (timestamp != GDK_CURRENT_TIME) + gdk_x11_window_set_user_time (gdk_window, timestamp); + } + else #endif - if (!startup_id_is_fake (priv->startup_id)) - gdk_window_set_startup_id (gdk_window, priv->startup_id); + { + if (!startup_id_is_fake (priv->startup_id)) + gdk_window_set_startup_id (gdk_window, priv->startup_id); + } } /* Icons */ @@ -7352,13 +7359,16 @@ gtk_window_present_with_time (GtkWindow *window, if (timestamp == GDK_CURRENT_TIME) { #ifdef GDK_WINDOWING_X11 - GdkDisplay *display; + if (GDK_IS_X11_WINDOW(gdk_window)) + { + GdkDisplay *display; - display = gtk_widget_get_display (GTK_WIDGET (window)); - timestamp = gdk_x11_display_get_user_time (display); -#else - timestamp = gtk_get_current_event_time (); + display = gtk_widget_get_display (GTK_WIDGET (window)); + timestamp = gdk_x11_display_get_user_time (display); + } + else #endif + timestamp = gtk_get_current_event_time (); } gdk_window_focus (gdk_window, timestamp); -- 2.30.2